CREATE PROCEDURE dbo.sp_RepReasignacionProcurador

-- Parametros

@Fecha_Desde varchar(30) , 
@Fecha_Hasta varchar(30) , 
@Area int

AS

DECLARE
@Fecha_Inicial datetime , 
@Fecha_Final datetime 

SET @Fecha_Inicial = CONVERT( DATETIME , @Fecha_Desde , 120 )
SET @Fecha_Final   = CONVERT( DATETIME , @Fecha_Hasta , 120 )

SELECT	x.Fecha_ing_ofic , 
	Area_Nombre = a.Nombre , 
	e.Expediente , 
	Asunto_Nombre = m.Nombre , 
	v.Nombre_Procurador , 
	Parte = CASE
		WHEN LEN( COALESCE( e.Promovente , '' ) ) = 0 AND LEN( COALESCE( e.Parte , '' ) ) = 0 THEN ''
		WHEN LEN( COALESCE( e.Promovente , '' ) ) = 0 AND LEN( COALESCE( e.Parte , '' ) ) > 0 THEN E.Parte
		WHEN LEN( COALESCE( e.Promovente , '' ) ) > 0 AND LEN( COALESCE( e.Parte , '' ) ) = 0 THEN E.Promovente
		ELSE e.Promovente + ' CONTRA ' + e.Parte
		END , 
	x.Fecha_Ing_Ofic
FROM Expediente AS e	
	INNER JOIN Procuradores_X_Expediente AS x 
		ON e.Expediente = x.Expediente AND x.Primario_Chk = '1' 
	INNER JOIN View_Nombre_Procuradores AS v 
		ON x.Procurador = v.Procurador
	INNER JOIN Area AS a  
		ON a.Area = x.Area
	INNER JOIN MateriaTipoAsunto AS m
		ON x.MateriaTipoAsunto = m.MateriaTipoAsunto 
WHERE	x.Fecha_Ing_Ofic BETWEEN @Fecha_Inicial AND @Fecha_Final
/* RCR 2009-05-19
	DATEPART( yyyy , x.Fecha_Ing_Ofic ) * 1000 + DATEPART( dy , x.Fecha_Ing_Ofic ) BETWEEN 
		DATEPART( yyyy, @Fecha_Inicial ) * 1000 + DATEPART( dy, @Fecha_Inicial ) AND
		DATEPART( yyyy, @Fecha_Final )   * 1000 + DATEPART( dy, @Fecha_Final ) 
*/
	AND x.Area = @Area
ORDER BY x.Fecha_ing_ofic , 
	v.Nombre_Procurador
